import request from '@/config/axios'

// 广告数据 VO
export interface CampaignDataVO {
  id: number // id
  date: Date // 日期
  countryOrRegion: string // 国家或地区代码
  impressions: number // 展示次数
  taps: number // 点击次数
  installs: number // 总安装次数
  newDownloads: number // 新安装次数
  reDownloads: number // 重复安装次数
  latOnInstalls: number // 启用定位安装次数
  latOffInstalls: number // 禁用定位安装次数
  ttr: number // 点击率
  avgCpaAmount: number // 每次转化费用
  avgCpaCurrency: string // 转化货币
  avgCptAmount: number // 每次点击付费
  avgCptCurrency: string // 点击货币
  avgCpmAmount: number // 每千次展示付费
  avgCpmCurrency: string // 展示货币
  localSpendAmount: number // 支出金额
  localSpendCurrency: string // 支出货币
  conversionRate: number // 转化率
  campaignId: number // 广告系列 ID
  campaignName: string // 广告系列名称
  isDeleted: boolean // 是否删除
  campaignStatus: string // 广告系统状态
  appName: string // 应用名称
  adamId: number // 应用 ID
  servingStatus: string // 状态
  countriesOrRegions: string // 国家或地区
  modificationTime: Date // 修改时间
  dailyBudgetAmount: number // 日预算金额
  dailyBudgetCurrency: string // 日预算货币
  displayStatus: string // 展示状态
  supplySources: string // 广告展示位置
  adChannelType: string // 广告渠道类型
  orgId: number // 组织 ID
  billingEvent: string // 计费方式
}

// 广告数据 API
export const CampaignDataApi = {
  // 查询广告数据分页
  getCampaignDataPage: async (params: any) => {
    return await request.get({ url: `/asasc/campaign-data/page`, params })
  },

  // 查询广告数据详情
  getCampaignData: async (id: number) => {
    return await request.get({ url: `/asasc/campaign-data/get?id=` + id })
  },

  // 新增广告数据
  createCampaignData: async (data: CampaignDataVO) => {
    return await request.post({ url: `/asasc/campaign-data/create`, data })
  },

  // 修改广告数据
  updateCampaignData: async (data: CampaignDataVO) => {
    return await request.put({ url: `/asasc/campaign-data/update`, data })
  },

  // 删除广告数据
  deleteCampaignData: async (id: number) => {
    return await request.delete({ url: `/asasc/campaign-data/delete?id=` + id })
  },

  // 导出广告数据 Excel
  exportCampaignData: async (params) => {
    return await request.download({ url: `/asasc/campaign-data/export-excel`, params })
  }
}